package org.wdcode.core.lucene.index;

import java.util.List;

import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.wdcode.core.lucene.field.LuceneField;
import org.wdcode.core.lucene.need.LuceneNeed;

/**
 * Lucene索引器
 * @author WD
 * @since JDK6
 * @version 1.0 2010-05-25
 */
public interface LuceneIndex {
	/**
	 * 添加索引
	 * @param fields 添加的字段
	 */
	void add(List<LuceneField> fields);

	/**
	 * 添加索引
	 * @param fields 添加的字段
	 */
	void add(LuceneField... fields);

	/**
	 * 获得Lucene 索引写入器
	 * @return Lucene 索引写入器
	 */
	IndexWriter getIndexWriter();

	/**
	 * 获得Lucene 索引读取器
	 * @return Lucene 索引读取器
	 */
	IndexReader getIndexReader();

	/**
	 * 获得Lucene使用的类包
	 * @return Lucene使用的类包
	 */
	LuceneNeed getLuceneNeed();
}
